package com.ebupt.migu.music.autoTri.Service;

import com.ebupt.migu.music.common.entity.ResultObject;
import org.springframework.stereotype.Service;

import java.util.Map;

/**
 * Created by Intellij IDEA.
 * User:  liuyangyang@cd.ebupt.com
 * Date:  2020/6/9
 */
public interface AutoTriService {

    /**
     * 创建运营计划
     *
     * @param map
     * @return
     */
    public ResultObject createOperPlan(Map<String, Object> map);

    /**
     * 更新运营计划
     *
     * @param map
     * @return
     */
    public ResultObject updateOperPlan(Map<String, Object> map);

    /**
     * 查询运营计划列表
     *
     * @return
     */
    public ResultObject queryOperPlan();

    /**
     * 创建自动触发策略
     *
     * @param map
     * @return
     */
    public ResultObject createAutoTri(Map<String, Object> map);

    /**
     * 查询策略列表
     *
     * @param map
     * @return
     */
    public ResultObject queryAutoTris(Map<String, Object> map);

    /**
     * 查询指定策略详情
     *
     * @param map
     * @return
     */
    public ResultObject queryAutoTriDetail(Map<String, Object> map);

    /**
     * 修改自动触发策略
     *
     * @param map
     * @return
     */
    public ResultObject updateAutoTri(Map<String, Object> map);

    /**
     * 暂停策略
     *
     * @param map
     * @return
     */
    public ResultObject pause(Map<String, Object> map);

    /**
     * 策略审批
     *
     * @param map
     * @return
     */
    public ResultObject doApprove(Map<String, Object> map);

    /**
     * 查询审批列表
     *
     * @param map
     * @return
     */
    public ResultObject queryApproveRecords(Map<String, Object> map);

    /**
     * 查询单条策略审批记录
     *
     * @param map
     * @return
     */
    public ResultObject queryApproveRecordByTacID(Map<String, Object> map);

    /**
     * 实时测试
     *
     * @param map
     * @return
     */
    public ResultObject manual(Map<String, Object> map);

    ResultObject<String> revocation(Map<String, Object> paramsWithUserInfo);
}
